package it.gestoreContratti.entity;

import java.math.BigDecimal;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Contratto {
	
	private BigDecimal numero;
	private String ditta;
	private Date dataInizio;
	private BigDecimal durata;
	private Periodo periodo;	
	private Date dataScadenza;
	private BigDecimal importo;
	private BigDecimal rimanenza;
	private String commento;
	private DateFormat dateFormat;
	
	
	public Contratto(){
		dateFormat = new SimpleDateFormat("dd/MM/yyyy");
	}
	
	public Contratto(BigDecimal numero, String ditta, Date dataInizio,
			Periodo periodo,BigDecimal durata,  Date dataFine, BigDecimal importo,
			BigDecimal rimanenza, String commento) {
		super();
		this.numero = numero;
		this.ditta = ditta;
		this.dataInizio = dataInizio;
		this.periodo = periodo;
		this.durata = durata;
		this.dataScadenza = dataFine;
		this.importo = importo;
		this.rimanenza = rimanenza;
		this.commento = commento;
		dateFormat = new SimpleDateFormat("dd/MM/yyyy");
	}

	public BigDecimal getNumero() {
		return numero;
	}

	public void setNumero(BigDecimal numero) {
		this.numero = numero;
	}

	public String getDitta() {
		return ditta;
	}

	public void setDitta(String ditta) {
		this.ditta = ditta;
	}

	public Date getDataInizio() {
		return dataInizio;
	}

	public void setDataInizio(Date dataInizio) {
		this.dataInizio = dataInizio;
	}

	public Periodo getPeriodo() {
		return periodo;
	}
	
	@Override
	public String toString() {
		return "Contratto [numero=" + numero.toString() + ", ditta=" + ditta
				+ ", dataInizio=" + dateFormat.format(dataInizio) + ", durata=" + durata.toString()
				+ ", periodo=" + periodo.toString() + ", dataScadenza=" + dateFormat.format(dataScadenza)
				+ ", importo=" + importo.toString() + ", rimanenza=" + rimanenza.toString()
				+ ", commento=" + commento + "]";
	}

	public void setPeriodo(Periodo periodo) {
		this.periodo = periodo;
	}

	public Date getDataScadenza() {
		return dataScadenza;
	}

	public void setDataScadenza(Date dataFine) {
		this.dataScadenza = dataFine;
	}

	public BigDecimal getImporto() {
		return importo;
	}

	public void setImporto(BigDecimal importo) {
		this.importo = importo;
		this.importo = this.importo.setScale(2, BigDecimal.ROUND_HALF_UP);
	}

	public BigDecimal getRimanenza() {
		return rimanenza;
	}

	public void setRimanenza(BigDecimal rimanenza) {
		this.rimanenza = rimanenza;
		this.rimanenza = this.rimanenza.setScale(2, BigDecimal.ROUND_HALF_UP);
	}

	public String getCommento() {
		return commento;
	}

	public void setCommento(String commento) {
		this.commento = commento;
	}

	public BigDecimal getDurata() {
		return durata;
	}

	public void setDurata(BigDecimal durata) {
		this.durata = durata;
	}
	
	
	
	

}
